package com.yst.webplugin.annotation;

import java.io.Serializable;
import java.lang.annotation.*;

/**
 * fetch entity by primary key
 */
@ResultType(returnModelClass = true)
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface GetModelByKey {

    String keyField() default "id";
    /**
     * class of entity
     */
    Class<? extends Serializable> modelClass();

    /**
     * unselect fields
     */
    String[] disabledFields() default {};

    /**
     * deleted field,specific,will not return
     */
    String deleteTimeField() default "deleteTime";


}
